package com.example.togethermove.ui.fragment.home;//package com.example.movetogether.ui.fragment.home;
//
//import android.content.Context;
//import android.content.Intent;
//import android.os.Bundle;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import androidx.recyclerview.widget.LinearLayoutManager;
//import androidx.recyclerview.widget.RecyclerView;
//import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
//
//import com.bumptech.glide.Glide;
//import com.ryx.internetstars.R;
//import com.ryx.internetstars.adapter.BillListAdapter;
//import com.ryx.internetstars.base.BaseFragment;
//import com.ryx.internetstars.config.Config;
//import com.ryx.internetstars.config.ConfigUtil;
//import com.ryx.internetstars.config.Constants;
//import com.ryx.internetstars.config.HttpMethods;
//import com.ryx.internetstars.entity.bean.PageInfos;
//import com.ryx.internetstars.entity.bean.home.HomeVideoListBean;
//import com.ryx.internetstars.entity.doc.home.HomeListDoc;
//import com.ryx.internetstars.function.Function1;
//import com.ryx.internetstars.function.Function3;
//import com.ryx.internetstars.network.MyObserver;
//import com.ryx.internetstars.network.cons.ApiException;
//import com.ryx.internetstars.ui.activity.WebViewDefaultActivity;
//import com.ryx.internetstars.utils.DeviceIdFactory;
//import com.ryx.internetstars.utils.RxBus;
//import com.ryx.internetstars.utils.aop.SingleClick;
//import com.ryx.internetstars.views.recycle.BaseItem;
//import com.ryx.internetstars.views.recycle.MagicRecyclerView;
//import com.ryx.internetstars.views.recycle.ViewHolder;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.Unbinder;
//import io.reactivex.disposables.Disposable;
//
///**
// * @author csl
// * @data 2020/10/12  14:47 首页Fragmentlist
// */
//public class TabFragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
//
//    private String state = "";
//    private String cancelOrder = null;
//    private List<String> applyStatusList = null;
//    private boolean loadAtFirst = false;
//
//    @BindView(R.id.empty_root)
//    RelativeLayout empty_root;
//
//    @BindView(R.id.iv_emptyImg)
//    ImageView iv_emptyImg;
//    @BindView(R.id.tv_emptyTitle)
//    TextView tv_emptyTitle;
//    @BindView(R.id.tv_emptySubtitle)
//    TextView tv_emptySubtitle;
//
//
//    @BindView(R.id.newsRecycler)
//    MagicRecyclerView mNewsRecycler;
//    @BindView(R.id.refresh)
//    SwipeRefreshLayout mRefresh;
//
//    LinearLayoutManager linearLayoutManager;
//    BillListAdapter billListAdapter;
//    private boolean loading = false;
//    private Unbinder mUnbinder;
//   private HomeListDoc doc;
//
//    private Context mContext;
//
//    public static TabFragment newInstance() {
//        Bundle args = new Bundle();
//        TabFragment fragment = new TabFragment();
//        fragment.setArguments(args);
//        return fragment;
//    }
//
//    public TabFragment() {
//        doc = new HomeListDoc();
//        doc.setMemberId(ConfigUtil.getMemberId()).setPageSize(Config.PAGE_SIZE);//.setOrganizationId(ConfigUtil.getEntSalesman().getOrgNo())
//    }
//
//    public void setState(String state) {
//        this.state = state;
//        if (!state.equals("")) {
//            doc.setTagName(state);
//        }
//    }
//
//    @Override
//    public View onCreateView(LayoutInflater inflater, ViewGroup container,
//                             Bundle savedInstanceState) {
//        View view = inflater.inflate(R.layout.fragment_list, container, false);
//        mUnbinder = ButterKnife.bind(this, view);
//        mContext = getActivity();
//
////        initEmptyPape();
//        initView();
//        return view;
//    }
//    public void setLoadAtFirst(boolean loadAtFirst) {
//        this.loadAtFirst = loadAtFirst;
//    }
//
//    private void initEmptyPape() {
//        mNewsRecycler.setVisibility(View.GONE);
//        empty_root.setVisibility(View.VISIBLE);
//        iv_emptyImg.setImageResource(R.mipmap.empty_task);
//        tv_emptyTitle.setText("暂无数据");
////        tv_emptySubtitle.setText("制单提交后的相关流程会展示在这里");
//    }
//
//    private void initView() {
//        linearLayoutManager = new LinearLayoutManager(getActivity());
//        mNewsRecycler.setLayoutManager(linearLayoutManager);
//        //屏蔽掉默认的动画，防止刷新时图片闪烁
//        mNewsRecycler.getItemAnimator().setChangeDuration(0);
//        mNewsRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
//            @Override
//            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
//                try {
//                    super.onScrollStateChanged(recyclerView, newState);
//                    if (mNewsRecycler.refreshAble()) {//下拉刷新
//                        mRefresh.setEnabled(true);
//                    }
//                    if (mNewsRecycler.loadAble()) {//加载更多
//                        loadMoreData();
//                    }
//                } catch (Exception e) {
//
//                }
//            }
//        });
//        mRefresh.setProgressBackgroundColorSchemeColor(getResources().getColor(R.color.white_FFFFFF));
//        mRefresh.setOnRefreshListener(this);
//        mRefresh.setColorSchemeResources(R.color.yellow_FFF59A0C, R.color.yellow_FFF59A0C, R.color.yellow_FFF59A0C);
//        View footer = mNewsRecycler.getFooterView();
//        if (footer != null) {
//            footer.setOnClickListener(new View.OnClickListener() {
//                @SingleClick
//                @Override
//                public void onClick(View v) {
//                    loadMoreData();
//                }
//            });
//        }
//        isInited = true;
////        if (loadAtFirst)
////        refreshData();
//    }
//
//    @Override
//    public void onDestroyView() {
//        super.onDestroyView();
//        RxBus.getInstance().unSubscribe(this);
//    }
//
//    private boolean isFirstLoad = true;
//    private boolean isInited = false;
//
//    @Override
//    public void setUserVisibleHint(boolean isVisibleToUser) {
//        super.setUserVisibleHint(isVisibleToUser);
//        if (isVisibleToUser) {
////            if (!loadAtFirst && isFirstLoad && isInited) {
//            if (isFirstLoad && isInited) {
////                isFirstLoad = false;
//                refreshData();
//            }
//        }
//    }
//
//    @Override
//    public void onResume() {
//        super.onResume();
//        onHiddenChanged(false);
//        refreshData();
//    }
//
//    @Override
//    public void onPause() {
//        super.onPause();
//        onHiddenChanged(true);
//    }
//
//    @Override
//    public void onHiddenChanged(boolean hidden) {
//        try {
//            if (hidden && mRefresh != null && mRefresh.isRefreshing()) { // 隐藏的时候停止 SwipeRefreshLayout 转动
//                mRefresh.setRefreshing(false);
//            }
//        } catch (Exception e) {
//
//        }
//    }
//
//    public void showRefreshBar() {
//        loading = true;
//        Log.e("TabFragreshBar1", String.valueOf(doc.getPageNum()));
//        hideProgressBar();
//        if (String.valueOf(doc.getPageNum()).equals("1")) {
//            mRefresh.setRefreshing(true);
//        } else {
//            Log.e("TicketFragreshBar2", String.valueOf(doc.getPageNum()));
//            showProgressBar();
//        }
//
//    }
//
//    public void hideRefreshBar() {
//        loading = false;
//        hideProgressBar();
//        if (String.valueOf(doc.getPageNum()).equals("1")) {
//            mRefresh.setRefreshing(false);
//        } else {
////            hideProgressBar();
//        }
//
//    }
//
//    public void refreshData() {
//        doc.setPageNum(1);
//        loadData();
//    }
//
//    public void loadMoreData() {
//        if (!loading && billListAdapter.isShowFooter()) {
//            doc.setPageNum(doc.getPageNum() + 1);
//            loadData();
//        }
//
//    }
//    //首页列表数据
//    private void loadData() {
//        doc.setDeviceUuid(DeviceIdFactory.getInstance(mActivity).getDeviceUuid());
////        doc.setDeviceUuid(StringUtil.getDeviceId(mActivity));
//        HttpMethods.getInstance().homeTagVideolist(doc).subscribe(new MyObserver<PageInfos<HomeVideoListBean>>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//                showRefreshBar();
//                addDisposable(d);
//            }
//
//            @Override
//            public void onNext(PageInfos<HomeVideoListBean> homeRecommends) {
//                loading = false;
//                hideRefreshBar();
//                hideProgressBar();
//                setFooter(homeRecommends.getPageInfo().isHasNextPage());
//                List<HomeVideoListBean> mlist = homeRecommends.getPageInfo().getList();
////                mlistall.addAll(mlist);
//                if (mlist != null && mlist.size() > 0) {
//                    mNewsRecycler.setVisibility(View.VISIBLE);
//                    empty_root.setVisibility(View.GONE);
//                    ArrayList<BaseItem> baseItems = new ArrayList<>();
//                    if (mlist != null && mlist.size() > 0) {
//                        for (int i = 0; i < mlist.size(); i++) {
//                            baseItems.add(new BaseItem().setData(mlist.get(i)));
//                        }
//                    }
//                    if (billListAdapter == null) {
//                        billListAdapter = new BillListAdapter(mContext).setFunction(viewIdFunction)
//                                .setFunction3(viewBindFunction);
//                        mNewsRecycler.setAdapter(billListAdapter);
//                    }
//                    if (doc.getPageNum() == 1) {
//                        billListAdapter.setBaseDatas(baseItems);
//                    } else {
//                        billListAdapter.addBaseDatas(baseItems);
//                    }
//
//                } else {
//                    initEmptyPape();
//                }
//            }
//
//            @Override
//            public void onError(ApiException ex) {
//                hideRefreshBar();
//                hideProgressBar();
//                if (!ex.isSuccess())
//                    showToast(ex.getShowMsg());
//
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        });
//
//    }
//    private Function1<Void, Integer> viewIdFunction = new Function1<Void, Integer>() {
//        @Override
//        public Integer apply(Void aVoid) {
//            return R.layout.item_home_list;
//        }
//    };
//
//    private Function3 viewBindFunction = new Function3<HomeVideoListBean, View, Integer, Void>() {
//        @Override
//        public Void apply(final HomeVideoListBean info, final View v, final Integer pos) {
//            RelativeLayout ll_item = ViewHolder.get(v, R.id.ll_item);
//            LinearLayout ll_bottom = ViewHolder.get(v, R.id.ll_bottom);
//            ImageView iv_img = ViewHolder.get(v, R.id.iv_img);
//            ImageView cv_head = ViewHolder.get(v, R.id.cv_head);
//            TextView tv_title = ViewHolder.get(v, R.id.tv_title);
//            TextView tvname = ViewHolder.get(v, R.id.tv_name);
//            TextView tvcoins = ViewHolder.get(v, R.id.tv_coins);
//            tvcoins.setVisibility(View.GONE);
//            ll_bottom.setVisibility(View.GONE);
//            tv_title.setText(info.getTitle());
//            tvname.setText(info.getNickName());
//            tvcoins.setText(info.getTaskCoin());
//            Glide.with(getActivity()).load(info.getVideoFace()).into(iv_img);
////            RequestOptions options = new RequestOptions()
////                    .placeholder(R.mipmap.default_avatar)//图片加载出来前，显示的图片
////                    .fallback( R.mipmap.default_avatar) //url为空的时候,显示的图片
////                    .error(R.mipmap.default_avatar);//图片加载失败后，显示的图片
////            Glide.with(mActivity)
////                    .load(info.getVideoCreatorProfilePath()) //图片地址
////                    .apply(options)
////                    .into(cv_head);
////            Glide.with(mActivity).load(info.getVideoCreatorProfilePath()).into(cv_head);//头像
//            ll_item.setOnClickListener(new View.OnClickListener() {
//                @SingleClick
//                @Override
//                public void onClick(View v) {
////                    if(mlistall.size()>1){
////                        mlistall.remove(pos);
////                        mlistall.add(0,info);
//////                        mlistall= AppUtil.delRepeat(mlistall);//去重
////                    }
//                    Intent intent =new Intent(mActivity, WebViewDefaultActivity.class);
//                    intent.putExtra(Constants.intent_key_data,info.getVideoUrl());
//                    intent.putExtra(Constants.intent_key_data1,"show");
//                    startActivity(intent);
//                }
//            });
//            return null;
//        }
//    };
//
//
//
//
//    public void setFooter(boolean showFooter) {
//        if (showFooter) {
//            mNewsRecycler.showFooter();
//            if (billListAdapter != null)
//                billListAdapter.setShowFooter(true);
//        } else {
//            mNewsRecycler.hideFooter();
//            if (billListAdapter != null)
//                billListAdapter.setShowFooter(false);
//        }
//
//    }
//
//    public void refreshdataEmpty(boolean hide) {
//        if (hide) {
//            if (empty_root != null && empty_root.getVisibility() != View.GONE) {
//                empty_root.setVisibility(View.GONE);
//            }
//        } else {
//            if (empty_root != null && empty_root.getVisibility() != View.VISIBLE) {
//                empty_root.setVisibility(View.VISIBLE);
//            }
//        }
//    }
//
//
//    @Override
//    public void onRefresh() {
//        refreshData();
//    }
//
//    @Override
//    public void onDestroy() {
//        super.onDestroy();
//        if (mUnbinder != null)
//            mUnbinder.unbind();
//    }
//}
